/*
 * Copyright (c) 2006-2021, Ulandlink Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-12-06     lfz         first version
 */
#ifndef __APP_OCPP_CLIENT_REQ_H__
#define __APP_OCPP_CLIENT_REQ_H__

#ifdef __cplusplus
extern "C" {
#endif

#include <rtthread.h>
#include "app_ocpp_util.h"

int ocpp_pack_boot_notification(char *payload, uint16_t payload_len);
int ocpp_unpack_boot_notification(char *payload);

int ocpp_pack_heartbeat(char *payload, uint16_t payload_len);
int ocpp_unpack_heartbeat(char *payload);

int ocpp_pack_authorize(char *payload, uint16_t payload_len);
int ocpp_unpack_authorize(char *payload);

int ocpp_pack_status_notification(char *payload, uint16_t payload_len);
int ocpp_unpack_status_notification(char *payload);

int ocpp_pack_start_transaction(char *payload, uint16_t payload_len);
int ocpp_unpack_start_transaction(char *payload);

int ocpp_pack_data_transfer(char *payload, uint16_t payload_len);
int ocpp_unpack_data_transfer(char *payload);

int ocpp_pack_diagnostics_status_notification(char *payload, uint16_t payload_len);
int ocpp_unpack_diagnostics_status_notification(char *payload);

int ocpp_pack_firmware_status_notification(char *payload, uint16_t payload_len);
int ocpp_unpack_firmware_status_notification(char *payload);

int ocpp_pack_meter_values(char *payload, uint16_t payload_len);
int ocpp_unpack_meter_values(char *payload);

int ocpp_pack_stop_transaction(char *payload, uint16_t payload_len);
int ocpp_unpack_stop_transaction(char *payload);

int ocpp_pack_15118_authorize(char *payload, uint16_t payload_len);
int ocpp_unpack_15118_authorize(char *payload);

int ocpp_pack_15118_get_ev_cert(char *payload, uint16_t payload_len);
int ocpp_unpack_15118_get_ev_cert(char *payload);

int ocpp_pack_15118_get_cert_status(char *payload, uint16_t payload_len);
int ocpp_unpack_15118_get_cert_status(char *payload);

int ocpp_pack_15118_sign_cert(char *payload, uint16_t payload_len);
int ocpp_unpack_15118_sign_cert(char *payload);

#ifdef __cplusplus
}
#endif

#endif
